
#ifndef __CONFIG_H_
#define __CONFIG_H_

// Configura o DEBUG
#define DEBUG_MODE 0

// n�mero total de p�ginas.

//Buffer
#define CAPACIDADE_DO_BUFFER 4000 //32
#define TAMANHO_MAX_LEITURA 1600 //(CAPACIDADE_DO_BUFFER*0.6) //%  // 40%
#define TAMANHO_MAX_ESCRITA 3800 //(CAPACIDADE_DO_BUFFER*0.8) //%  // 95%

#define NUMERO_DE_PAGINAS 40000  //65535// -1 por conta do random no Executor que pode ser de 0 a 15 //1024 // TAMANHO_TEMPORARIO/128KB
#define TOTAL_OPERATIONS 120000 //Tamanho da ordem de execucao
#define TOTAL_WRITE_OPERATIONS_PERCENT 80
#define CRESCIMENTO_DE_AREA 40 //numero de posicoes a mais que uma certa area ira crescer.




//Pagina
#define TAMANHO_CONTEUDO  3
#define TAMANHO_PAGINA 	  10	//Menor tamanho = 8bytes, sendo 4bytes do id, 1 do separador e 3 do conteudo.
#define TUPLAS_POR_PAGINA 1 //Unused

#define TAMANHO_STRING_PAGINA (TUPLAS_POR_PAGINA * TAMANHO_CONTEUDO)

//Temporario
#define TAMANHO_TEMPORARIO 80 //131072 // 128kb : 4bytes de GID + resto; (tamanho em bytes)

//Tracker
#define TAMANHO_TRACKER NUMERO_DE_PAGINAS

//Executor
//#define TAMANHO_EXECUTOR 26//Tamanho da ordem de execucao

// id da pagina
//GID tem 4bytes, ou seja, o programa s� pode indexar 65535 "FFFF".
typedef unsigned int GID;
// posicao da pagina no L1 / L2 / HD
typedef unsigned int Offset;

/*
#define L0 'B'
#define L1 'T'
#define HD 'D'
*/

#endif
